package com.allwees.bs.module.lms.track;

import lombok.Data;
import lombok.EqualsAndHashCode;

@EqualsAndHashCode(callSuper = true)
@Data
public class MileSubscribeParam extends MileParam {
    /**
     * 必填
     * 寄件日期，格式：yyyy/MM/dd
     */
    private String dispatchDate;

    /**
     * 必填
     * 订单号码
     */
    private String orderCode;
    /**
     * 必填
     * 订单类型：（只能在以下类型中选其一）
     * 100:配送订单
     * 200:退货订单
     * 300:换货订单
     * 400:退款订单
     * 500: B2B订单
     */
    private String orderType = "100";
    //oldExpressNo	N	String（50）	如果订单类型是退货订单(Return)、换货订单(Exchange)或者退款订单(Refund)，则原运单号码必填，
    /**
     * 必填
     * 提货方式：
     * Delivery：送货上门
     * Self：    客户自提
     */
    private String deliveryType = "Delivery";
    /**
     * 必填
     * 发货人
     */
    private String consignor = "Allwees";
    /**
     * 必填
     * 收件联系人
     */
    private String consigneeContact;
    /**
     * 必填
     * 收件人手机号
     */
    private String consigneePhone;
    /**
     * 必填
     * 收件国家（中国：CHN  | 阿联酋：UAE  | 沙特：KSA）
     */
    private String consigneeCountry;
    /**
     * 必填
     * 收件城市
     */
    private String consigneeCity;

    /**
     * 必填
     * 收件详细地址
     */
    private String consigneeAddress;
    /**
     * 必填
     * 声明价值 ：建议至多保留两位小数
     */
    private String goodsValue;
    /**
     * 必填
     * 代收货款 ：建议至多保留两位小数
     */
    private String collectingMoney;
    /**
     * 必填
     * 货款支付方式：（只能在以下类型中选其一）
     * 100:PPD(Prepaid)
     * 200:COD(Cash On Delivery)
     */
    private String paymentMethod = "200";

    /**
     * 必填
     * 包裹数量：必须是大于0
     */
    private String totalCount = "1";
    /**
     * 必填
     * 重量：必须是大于0的数值；单位：Kg，建议至多保留两位小数
     */
    private String totalWeight;
    /**
     * 必填
     * 体积：必须是大于0的数值；单位：m³，建议至多保留两位小数
     */
    private String totalVolume;
    /**
     * 必填
     * 所有SKU总件数：必须是大于0的整数
     */
    private String skuTotal;
    /**
     * 必填
     * 商品名称
     */
    private String skuName;
}
